﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DAL;
using IDAL;
using System.Reflection;

namespace Factory
{
    public class CreateFactory
    {
        public static IAdminUser GetAdminUser()
        {
            return (IAdminUser)Assembly.Load("DAL").CreateInstance("DAL.D_AdminUser");
        }
        public static IBasicInformation GetBasicInformation()
        {
            return (IBasicInformation)Assembly.Load("DAL").CreateInstance("DAL.D_BasicInformation");
        }
        public static IBasicInformationCustom GetInformationCustom()
        {
            return (IBasicInformationCustom)Assembly.Load("DAL").CreateInstance("DAL.D_BasicInformationCustom");
        }
        public static ICustomDetails GetCustomDetails()
        {
            return (ICustomDetails)Assembly.Load("DAL").CreateInstance("DAL.D_CustomDetails");
        }
        public static ICustomType GetCustomType()
        {
            return (ICustomType)Assembly.Load("DAL").CreateInstance("DAL.D_CustomType");
        }
        public static IExperienceDetail GetExperienceDetail()
        {
            return (IExperienceDetail)Assembly.Load("DAL").CreateInstance("DAL.D_ExperienceDetail");
        }
        public static IExperienceType GetExperienceType()
        {
            return (IExperienceType)Assembly.Load("DAL").CreateInstance("DAL.D_ExperienceType");
        }
        public static IJobIntention GetJobIntention()
        {
            return (IJobIntention)Assembly.Load("DAL").CreateInstance("DAL.D_JobIntention");
        }
        public static IComment GetComment()
        {
            return (IComment)Assembly.Load("DAL").CreateInstance("DAL.D_Comment");
        }
        public static IStrateg GetStrateg()
        {
            return (IStrateg)Assembly.Load("DAL").CreateInstance("DAL.D_Strateg");
        }
        public static IStrategType GetStrategType()
        {
            return (IStrategType)Assembly.Load("DAL").CreateInstance("DAL.D_StrategType");
        }
        public static ITemplate GetTemplate()
        {
            return (ITemplate)Assembly.Load("DAL").CreateInstance("DAL.D_Template");
        }
        public static ITemplateClassify GetTemplateClassify()
        {
            return (ITemplateClassify)Assembly.Load("DAL").CreateInstance("DAL.D_TemplateClassify");
        }
        public static IUser GetUser()
        {
            return (IUser)Assembly.Load("DAL").CreateInstance("DAL.D_User");
        }
        public static IUserVip GetUserVip()
        {
            return (IUserVip)Assembly.Load("DAL").CreateInstance("DAL.D_UserVip");
        }
        public static IUserCloudData GetUserCloudData()
        {
            return (IUserCloudData)Assembly.Load("DAL").CreateInstance("DAL.D_UserCloudData");
        }
        public static IToken GetToken()
        {
            return (IToken)Assembly.Load("DAL").CreateInstance("DAL.D_Token");
        }
        public static IVipLevel GetVipLevel()
        {
            return (IVipLevel)Assembly.Load("DAL").CreateInstance("DAL.D_VipLevel");
        }
        public static IExperienceCom GetExperienceCom()
        {
            return (IExperienceCom)Assembly.Load("DAL").CreateInstance("DAL.D_ExperienceCom");
        }
        public static ICustomerCom GetCustomerCom()
        {
            return (ICustomerCom)Assembly.Load("DAL").CreateInstance("DAL.D_CustomerCom");
        }
    }
}
